/* 解构赋值是对赋值运算符的扩展:
        它是一种针对数组或者对象进行模式匹配，然后对其中的变量进行赋值。
        解构，顾名思义，就是将集合型数据进行分解，拆分，把里面的值逐一遍历获取
        在代码书写上简洁且易读，语义更加清晰明了；也方便了复杂对象中数据字段获取。 */

/* 1.数组解构 */
var arr = [1,2,3];

//1.1 传统的js
let a = arr[0];
let b = arr[1];
let c = arr[2];
console.log(a,b,c);

//1.2 es6的解构
var [x,y,z] = arr;
console.log(x,y,z);

//---------------------------------------------

/* 2.对象解构 */
var user = {
   username:"吕布",
   weapon:"方天画戟",
   horse:"赤兔马"
};

//2.1 传统的js
let mingzi = user.username;
let wuqi = user.weapon;
let zuoji = user.horse;
console.log("姓名："+mingzi+", 武器："+wuqi+", 坐骑："+zuoji);

//2.2 es6解构
let {username,weapon,horse} = user; //注意：解构的变量名必须是对象中的属性
console.log("姓名："+username+", 武器："+weapon+", 坐骑："+horse);


